#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <vector>

using namespace std;


string s;
int main()
{
	cin >> s;

	if(s[0] == '-') cout << "-"; 
	int k = s.find('E');
	// +1.23400E-03 -> 123400
	string a = s[1] + s.substr(3, k - 3);
	// +1.23400E-03 -> -3
	int b = stoi(s.substr(k + 1));
	// +1.23400E-03 -> 0.123400E-04
	b ++;
	// +1.23400E-03 -> 0.123400E-04 -> 0.00123400
	if(b <= 0) a = "0." + string(-b, '0') + a;
	else if(b >= a.size()) 
	{
		// -1.2E+10 -> 0.12E+11 -> 12000000000
		a += string(b - a.size(), '0');
	} 
	else {
		//  +1.234E02 -> 0.1234E03 -> 123.4
		a = a.substr(0, b) + '.' + a.substr(b);
	}

	cout << a << endl;
	return 0;
}

/**
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <vector>

using namespace std;

int main()
{
	string s;
	cin >> s;
	int k = 0;
	while(k < s.size() && s[k] != 'E') k ++;
	string a = s.substr(1, k - 1); // 取出a
	int b = stoi(s.substr(k + 1)); // 取出E后面的值

	if(s[0] == '-') cout << "-"; // 输出第一个元素
	if(b < 0)
	{
		cout << "0.";
		for(int i = 0; i < (-b) - 1; i ++) cout << "0";
		for(int i = 0; i < a.size(); i ++)
		{
			if(a[i] != '.') cout << a[i];
		}
	} else {
		cout << a[0];
		int i = 2,cnt = 0;
		for(; i < a.size() && cnt < b; i ++, cnt ++) cout << a[i];
		if(i >= a.size())
		{
			for(int j = 0; j < b - cnt; j ++) cout << '0';
		} else {
			cout << ".";
			for(int j = i; j < a.size(); j ++) cout << a[i];
		}
	}
	return 0;
}
*/